// Promise-进阶
<template>
  <div>
    <prism language="javascript">
      var promise = new Promise(function(resolve, reject) {
      // 异步处理代码处
      resolve("yuan");
      // reject("失败了:(");
      });

      var p2 = new Promise(function(resolve, reject) {
      setTimeout(() => {
      resolve("2000ms 以后");
      }, 2000); //2秒后出现
      });

      //race表示比赛，data就是最先完成异步操作的数据
      //all表示所有，data就是所有异步操作的返回结果，是数组
      Promise.all([promise, p2]).then(
      function(data) {
      console.log("data from promise: " + data);
      //处理异步操作成功返回的数据
      },
      function(error) {
      console.log("error from promise: " + error);
      }
      );
    </prism>
    <v-btn
      round
      color="success"
      @click="run"
    >
      RUN
    </v-btn>
  </div>
</template>

<script>
import Prism from "vue-prism-component";
export default {
  components: {
    Prism
  },
  methods: {
    run() {
      var promise = new Promise(function(resolve, reject) {
        // 异步处理代码处
        resolve("yuan");
        // reject("失败了:(");
      });

      var p2 = new Promise(function(resolve, reject) {
        setTimeout(() => {
          resolve("2000ms 以后");
        }, 2000); //2秒后出现
      });

      //race表示比赛，data就是最先完成异步操作的数据
      //all表示所有，data就是所有异步操作的返回结果，是数组
      Promise.all([promise, p2]).then(
        function(data) {
          console.log("data from promise: " + data);
          //处理异步操作成功返回的数据
        },
        function(error) {
          console.log("error from promise: " + error);
        }
      );
    }
  }
};
</script>